// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.SQLName_ptr;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

#include "MySqlShowTableStatusStatement.h"
#include "../../visitor/MySqlASTVisitor.h"
#include "../../../../ast/SQLExpr.h"
#include "../../../../ast/SQLName.h"

MySqlShowTableStatusStatement::MySqlShowTableStatusStatement()
{
}

SQLName_ptr MySqlShowTableStatusStatement::getDatabase()
{
  return database;
}

void MySqlShowTableStatusStatement::setDatabase(SQLName_ptr database)
{
  this->database = database;
}

SQLExpr_ptr MySqlShowTableStatusStatement::getLike()
{
  return like;
}

void MySqlShowTableStatusStatement::setLike(SQLExpr_ptr like)
{
  this->like = like;
}

SQLExpr_ptr MySqlShowTableStatusStatement::getWhere()
{
  return where;
}

void MySqlShowTableStatusStatement::setWhere(SQLExpr_ptr where)
{
  this->where = where;
}

void MySqlShowTableStatusStatement::accept0(MySqlASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(MySqlShowTableStatusStatement)))
  {
    acceptChild(visitor, database);
    acceptChild(visitor, tableGroup);
    acceptChild(visitor, like);
    acceptChild(visitor, where);
  }
  visitor->endVisit(SharedObject(MySqlShowTableStatusStatement));
}

SQLName_ptr MySqlShowTableStatusStatement::getTableGroup()
{
  return tableGroup;
}

void MySqlShowTableStatusStatement::setTableGroup(SQLName_ptr tableGroup)
{
  this->tableGroup = tableGroup;
}
